package com.whfc.wxmp.api.mach.v1.service;

import com.whfc.common.result.PageData;
import com.whfc.fuum.entity.WxUser;
import com.whfc.mach.dto.warn.AppMachWarnCountDTO;
import com.whfc.mach.dto.warn.AppMachWarnCountDTOV2;
import com.whfc.mach.dto.warn.AppWarnDetailDTO;
import com.whfc.mach.dto.warn.AppWarnMachRecordDTO;
import com.whfc.mach.param.warn.AppWarnHandleParam;

import java.util.Date;

/**
 * @author sun_guodong
 * @description 小程序设备报警
 * @date 2020-12-14
 */
public interface WxmpMachWarnService {

    /**
     * 获取设备报警记录列表
     *
     * @param deptId
     * @param pageNum
     * @param pageSize
     * @param handleState
     * @return
     */
    PageData<AppWarnMachRecordDTO> machWarnList(Integer deptId, Integer pageNum, Integer pageSize, Integer handleState, Date startTime, Date endTime,Integer ruleType);

    /**
     * 查询设备报警消息详情
     *
     * @param warnId
     * @return
     */
    AppWarnDetailDTO getMachWarnDetail(Integer warnId);

    /**
     * 处理设备报警消息
     *
     * @param loginUser
     * @param body
     */
    void handleMachWarn(WxUser loginUser, AppWarnHandleParam body);

    AppMachWarnCountDTOV2 warnNumStatic(Integer deptId, Date startTime, Date endTime);
}
